package com.xuecheng.content.convert;

import com.xuecheng.api.content.model.dto.CourseBaseDTO;
import com.xuecheng.api.content.model.vo.CourseAuditVO;
import com.xuecheng.api.content.model.vo.CourseBaseVO;
import com.xuecheng.content.entity.CourseBase;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * <p></p>
 *
 * @Description:
 */
@Mapper
public interface CourseBaseConvert {

    CourseBaseConvert INSTANCE = Mappers.getMapper(CourseBaseConvert.class);

    @Mappings({
        @Mapping(source = "id",target = "courseBaseId"),
    })
    CourseBaseDTO entity2dto(CourseBase courseBase);

    @Mappings({
            @Mapping(source = "courseBaseId",target = "id"),
    })
    CourseBase dto2entity(CourseBaseDTO dto);


    CourseBaseDTO vo2dto(CourseBaseVO vo);


    /*
    * PS: 集合数据的转换必须要在单个数据转换方法的基础上才能完成
    *       entitys2dtos 依赖  entity2dto
    *
    * */
    List<CourseBaseDTO> entitys2dtos(List<CourseBase> courseBases);


    CourseBaseDTO audit2dto(CourseAuditVO auditVO);

}
